1. Field of the Invention
This invention relates to the processing of data with a services processor, and in particular to the queuing and scheduling of data packets using suitable data structures.
2. Background of the Invention
When data are to be processed by a computing device, a system, such as a data filtering engine, is needed to classify or filter such incoming data. For example, in a computer network, data transferred from one network device to another network device via the computer network are typically broken down into smaller blocks of data called packets. For a networking device to process an incoming packet, the device must filter or classify the incoming packet so it can determine what action should be taken on the packet. Packet filtering is a basic requirement of networking devices such as routers, upper layer switches, firewalls, and bandwidth managers. Once data packets are filtered and processed, they are output for use by the networking device.
Existing services processors are not capable of processing packets out of order. Moreover, existing systems have inefficient schemes for scheduling and queuing the output of processed data packets. What are needed are a system and method for filtering data that can quickly and inexpensively filter the data, process the data, and output the data for use by other devices on the network. More particularly, what are needed are techniques for queuing and scheduling the output of processed data packets from a services processor.